const fs = require('fs');
const path = require('path');

// function getFileContent(fileName, callback) {
//   const fullFileName = path.resolve(__dirname, 'files', fileName);

//   fs.readFile(fullFileName, (err, data) => {
//     if (err) {
//       console.error(err);
//       return;
//     }
//     // 读取数据返回的是二进制，toString转换成字符串；
//     // console.log(data.toString())
//     // JSON.parse转换为对象（因为files里的数据都是对象）
//     callback(JSON.parse(data.toString()))
//   })
// }

// getFileContent('a.json', aData => {
//   console.log('a Data', aData);
//   getFileContent(aData.next, bData => {
//     console.log('b Data', bData);
//     getFileContent(bData.next, cData => {
//       console.log('c Data', cData);
//     })
//   })
// })
function getFileContent(fileName) {
  const promise = new Promise((resolve, reject) => {
    const fullFileName = path.resolve(__dirname, 'files', fileName);

    fs.readFile(fullFileName, (err, data) => {
      if (err) {
        reject(err);
        return;
      }
      resolve(JSON.parse(data.toString()))
    })
  })

  return promise;
}
getFileContent('a.json').then(data => {
  console.log('a Data', data)
  return getFileContent(data.next);
})
.then(bData => {
  console.log('b Data', bData)
  return getFileContent(bData.next);
})
.then(cData => {
  console.log('c Data', cData)
})
